Flutter webview_flutter PlatformWebViewControllerCreationParams
这个类来自于 webview_flutter 的 webview_flutter_platform_interface 包下,是一个 Dart 基类,用于创建 PlatformWebViewController,提供了一种更为灵活的创建方式。
PlatformWebViewControllerCreationParams 类本身是个空类,不同平台的实现通过继承,添加各平台所需的配置参数。
核心概念:
- 可扩展性:这个类设计成可被扩展,允许在不同平台(如 Android 或 iOS)上添加额外的特定于平台的参数。
- 兼容性:在扩展时,建议新参数应接受
null
值或设置默认值,以防止引入破坏性更改。 - 不变性:标记为
@immutable
,意味着类的实例一旦创建,其字段值将不可更改。
示例
在这个例子中,创建了一个名为 WKWebViewControllerCreationParams
的子类,专门为 iOS 的 WKWebView 提供支持。
class WKWebViewControllerCreationParams
extends PlatformWebViewControllerCreationParams {
WKWebViewControllerCreationParams._(
// This parameter prevents breaking changes later.
// ignore: avoid_unused_constructor_parameters
PlatformWebViewControllerCreationParams params, {
this.domain,
}) : super();
factory WKWebViewControllerCreationParams.fromPlatformWebViewControllerCreationParams(
PlatformWebViewControllerCreationParams params, {
String? domain,
}) {
return WKWebViewControllerCreationParams._(params, domain: domain);
}
final String? domain;
}
其中:
- 子类构造函数接受一个
PlatformWebViewControllerCreationParams
对象和一个可选的domain
字段。domain
字段是新增的平台特定参数,用于指定 WKWebView 的域。 - 通过使用工厂构造函数
fromPlatformWebViewControllerCreationParams
,可以方便地创建带有额外参数的实例。
本文作者:Maeiee
本文链接:Flutter webview_flutter PlatformWebViewControllerCreationParams
版权声明:如无特别声明,本文即为原创文章,版权归 Maeiee 所有,未经允许不得转载!
喜欢我文章的朋友请随缘打赏,鼓励我创作更多更好的作品!